Programmable light timer and a method of implementing a progammable light timer

ABSTRACT

A programmable light timer for implementing a timing pattern is described. The programmable light timer comprises an actuator on a user interface of the programmable light timer enabling a selection of a time for the programmable light timer; a control circuit coupled to the actuator; a display coupled to the control circuit, wherein a time selected by the actuator is provided on the display; a first button on the user interface of the programmable light timer, wherein the first button is programmable to have an on time; and a second button on the user interface of the programmable light timer, wherein the second button is programmable to have an off time. A method of implementing a timing pattern on a programmable light timer is also described.

FIELD OF THE INVENTION

The present invention relates generally to lighting control products,and in particular, to a programmable light timer and a method ofimplementing a programmable light timer. Applicant claims priority onco-pending U.S. application Ser. No. 14/066,724, filed on Oct. 20, 2013.

BACKGROUND OF THE INVENTION

Conventional timers for lights, such as timers for indoor lamps oroutdoor lights for example, either provide little functionality, or aredifficult to program. Because of the limited size of the conventionaltimers, the size of the screen and the size of the interface forprogramming the timer are both relatively small. This is particularlytrue of an in-wall timer, which must fit in an electrical box, commonlycalled a junction box. Not only does a user of the in-wall timer have toread a very small display, but the user has to advance through a menushown on the small display using a very limited interface which isprovided on the remaining portion of the timer. Entering data on such auser interface is particularly difficult because the in-wall timer isfixed and generally positioned well below eye level.

Further, conventional timers are often unreliable. For example,conventional mechanical timers often malfunction over time, leaving theuser without the use of the timer for some period of time and requiringthe user to incur the expense of replacing the timer. Moreover, advanceddigital timers having electronic displays may be difficult to operate,providing a barrier to certain groups of people who would otherwise usea timer, but don't want to struggle through a complex interface on thesmall screen of the timer to properly set the timer. For example, notonly is the display very small and difficult to read, but the userinterface is difficult to navigate on such a small display. These groupsof users are either left with no timing operation for their lights, ortimers which do not provide the timing operation that they desire.Without an effective timer for a light for example, the light may be onsignificantly longer than necessary, not only wasting energy but in manycases increasing pollution as a result. As energy consumption world-widecontinues to increase, it is important to reduce or minimize theconsumption of energy in any way possible. The timer of the presentinvention provides significant benefits in reducing energy consumption.

SUMMARY OF THE INVENTION

A programmable light timer for implementing a timing pattern isdescribed. The programmable light timer comprises an actuator on a userinterface of the programmable light timer enabling a selection of a timefor the programmable light timer; a control circuit coupled to theactuator; a display coupled to the control circuit, wherein a timeselected by the actuator is provided on the display; a first button onthe user interface of the programmable light timer, wherein the firstbutton is programmable to have an on time; and a second button on theuser interface of the programmable light timer, wherein the secondbutton is programmable to have an off time.

Another programmable light timer for implementing a timing patterncomprises an actuator on a user interface of the programmable lighttimer, the actuator enabling a selection of a time for the programmablelight timer; a control circuit coupled to the actuator; a displaycoupled to the control circuit, wherein a time selected by the actuatoris provided on the display; a first button on the user interface of theprogrammable light timer, the first button enabling the selection of afirst pre-stored timing pattern; and a second button on the userinterface of the programmable light timer, the second button enablingthe selection of a second pre-stored timing pattern.

A method of implementing a timing pattern on a programmable light timeris also described. The method comprises enabling, on a user interface ofthe programmable light timer, a selection of a time for the programmablelight timer; displaying the time on a display of the programmable lighttimer; enabling a first button, provided on the user interface of theprogrammable light timer, to be programmed to have an on time; andenabling a second button, provided on the user interface of theprogrammable light timer, to be programmed to have an off time.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of a front panel of an in-wall light timeraccording to an embodiment of the present invention;

FIG. 2 is a perspective view of the front panel of the in-wall lighttimer of FIG. 1 with a cover open according to an embodiment of thepresent invention;

FIG. 3 is a perspective view of a front panel of an in-wall light timerhaving a display according to another embodiment of the presentinvention;

FIG. 4 is a perspective view of the front panel of the in-wall lighttimer of FIG. 3 with a cover open according to an embodiment of thepresent invention;

FIG. 5 is a perspective view of the front panel of the in-wall lighttimer of FIG. 3 with a cover open according to another embodiment of thepresent invention;

FIG. 6 is a perspective view of the front panel of the in-wall lighttimer of FIG. 3 having preset buttons according to an embodiment of thepresent invention;

FIG. 7 is a perspective view of the front panel of the in-wall lighttimer of FIG. 3 having preset buttons according to another embodiment ofthe present invention;

FIG. 8 is a side view of the in-wall timer enable a connection of thetimer to electrical wiring;

FIG. 9 is a side view of a timer having a front panel according to FIGS.1-7 and adapted to be implemented with a wall outlet according to anembodiment of the present invention;

FIG. 10 is a block diagram of a circuit enabling the operation of theembodiments of FIGS. 1-9 according to an embodiment of the presentinvention;

FIG. 11 is a block diagram of the a circuit enabling the operation ofthe embodiments of FIGS. 1-9 having a wireless communication circuitaccording to an embodiment of the present invention;

FIG. 12 is a block diagram of an exemplary wireless communicationcircuit enabling the operation of the circuit of FIG. 11 according to anembodiment of the present invention;

FIG. 13 is a segmented map showing geographic regions of operation for atimer according to an embodiment of the present invention;

FIG. 14 is a diagram showing data fields of data entered by a useraccording to an embodiment of the present invention;

FIG. 15 is a diagram showing data fields of data entered by a useraccording to an alternate embodiment of the present invention;

FIG. 16 is table showing timing pattern codes and associated timingcharacterization data and categories according to an embodiment of thepresent invention;

FIG. 17 is a table showing the designation of regions associated with anumber of geographical locations according to an embodiment of thepresent invention;

FIG. 18 is a table showing average dusk and dawn times for variousregions and periods according to an embodiment of the present invention;

FIG. 19 is a table showing daylight savings time codes and associateddaylight savings time characterization data according to an embodimentof the present invention;

FIG. 20 is a flow diagram showing the operation of the 5-key userinterface of FIGS. 5 and 7 according to an embodiment of the presentinvention;

FIGS. 21-43 shows a series of stages of programming a timer using the5-key user interface of FIGS. 5 and 7;

FIG. 44 is a memory showing fields and stored data associated with theprogrammed timer of FIG. 43;

FIGS. 45-49 show screens of a user interface enabling the wirelessprogramming of a timer according to an embodiment of the presentinvention;

FIG. 50 is a chart showing dusk and dawn times over a year;

FIG. 51 is a chart showing dusk and dawn times over a year and which isdivided into two periods including standard time and daylight savingstime;

FIG. 52 is a chart showing dusk and dawn times over a year and which isdivided into four periods including four seasons;

FIG. 53 is a flow chart showing a method of generating timingcharacterization data according to an embodiment of the presentinvention;

FIG. 54 is a flow chart showing a method of implementing a timer with aplurality of timing patterns according to an embodiment of the presentinvention;

FIG. 55 is a flow chart showing a method of selecting a stored timingpattern using the keypad of FIGS. 2 and 4 according to an embodiment ofthe present invention; and

FIG. 56 is a flow chart showing a method of selecting a stored timingpattern using 5 key user interface of FIGS. 5 and 7 according to anembodiment of the present invention.

DETAILED DESCRIPTION OF THE DRAWINGS

The various embodiments set forth below overcome significant problemswith conventional timers of having to use a small display, andnavigating a menu on such a small display. Some embodiments eliminatethe requirement of having a display by providing pre-programmed timingpatterns which can be easily selected by entering a timing pattern codeassociated with a desired timing pattern. Other embodiments include adisplay, but benefit from an improved user interface which enables theeasy selection of a timing pattern by selecting a desired timing patterncode. In addition to selecting the timing pattern code, the userinterfaces for embodiments with or without a display enabling the easyprogramming of other data which must be entered to operate the timer. Bystoring the timing patterns which are associated with common ordesirable on/off patterns which are likely to be used to operate thetimer, a user does not need to enter on/off times for a light forvarious times during a day or week, or reprogram the timer in responseto changes in dusk and dawn times during a calendar year.

Turning first to FIG. 1, a perspective view of a front panel of anin-wall light timer according to an embodiment of the present inventionis shown. The timer of FIG. 1 comprises a housing portion 102 having anoptional cover 104 (coupled to the timer by way of a hinge 106) whichcovers a user interface when in the closed position and enablesprogramming the timer by way of the user interface in the open position.A feedback indicator 108, such as a light and more particularly a lightemitting diode (LED), could be implemented to show the status of thelight or other appliance attached to the timer, for example. Thefeedback indicator could show green when a light attached to the timeris on, and could be or (or show red) when the light is off. An optionalswitch 109 which is movable between an on or off position, and a timerposition for implementing the timer according to a selected timingpattern. While the cover is primarily cosmetic and may generally preventunintentional changing of the timer, the timer cover is not necessary.Alternatively, the cover may be functional, such as functioning as anon/off override switch for the light or appliance attached to the timerin place of the switch 109. For example, the state of the light may betoggled (i.e. changed from a current state, such as on, to the otherstate, such as off) in response to pressing the cover which wouldactivate a switch to change the state of the light if the switch 110 isnot included. Flanges 111 and 112, each having a threaded portion forreceiving a screw to attach the timer to a junction box. While thevarious embodiments are generally described in reference to a timerwhich is “hard wired” in a junction and may be used for a porch lightfor example, it should be understood that the user interfaces, circuitsand methods set forth in more detail below could be implemented in atimer which is plugged into an outlet (commonly called an light orappliance timer), as will be described in more detail below in referenceto FIG. 9. Further, while some examples are provided in terms ofresidential-type in-wall timers which are installed in a conventionalresidential junction box, it should be understood that the userinterfaces, circuits and methods could be implemented in commercialtimers.

Turning now to FIG. 2, a perspective view of the front panel of thein-wall light timer of FIG. 1 with a cover open according to anembodiment of the present invention is shown. As shown in FIG. 2, whenthe cover 104 is moved to an open position, a user interface comprisinga keypad 204 is accessible on an inner surface 202. Also shown on aninner surface 206 of the cover, instructions can be printed to enablethe user to easily program the timer. As will be described in moredetail below, a user can program the timer in 5 simple steps (and changea timing pattern using a single step). The keypad 204 of FIG. 2comprises 0-9 keys and star (*) and pound (#) keys.

According to one embodiment, the timer could be programmed using 5 stepsfor entering data on the keypad as shown on the inside of the cover. Thekeypad is used to enter numeric data which is necessary to operate thetimer. A key pattern sequence is entered to clear the timer ifnecessary. For example, the star key could be pressed 3 times to clearthe memory. Data necessary to operate the timer according to a user'sdesired timing pattern is then entered. In particular, a current time isentered followed by the pound key. The pound key may be entered toindicate that all of the data for a given field. Alternatively, all ofthe data could be considered to be entered after a time-out period. Thetime is preferably entered as military time (e.g. 2:00 PM would beentered as 1400) to ensure that the correct AM or PM time is stored.Alternatively, a code at the end of the time could be entered toindicate AM or PM. A date is then entered, followed by the pound key.The date is preferably entered as a 6 digit code (e.g. in the DDMMYYformat) to ensure that the date is properly interpreted. A location code(such as a zip code) could then be entered followed by the pound key. Aswill be described in more detail below, the location code can beassociated with a region which is used to ensure that the correctdaylight savings times and dawn and dusk times (or average valuesassociated with dawn and dusk times) are used to operate the timer. Thetiming pattern is then entered followed by the pound key. The timingpattern will be used to operate the timer based upon the current time,date and location of the timer. Accordingly, after 5 simple steps, thetimer is programmed to follow a timing pattern that meets the user'sneeds, and operates as it would if on/of times were entered on a userinterface in a conventional manner to implement the timing pattern.

In addition to providing simple steps to program the timer, the userinterface of FIG. 2 also enables easy reprogramming if desired by theuser. Although the selection of a desired timing pattern will eliminatethe need to reprogram the timer (such as at the start of spring or fallseasons as is generally required with conventional timers), the userinterface enables easy reprogramming is a user decides that they simplywant to change the timing pattern. That is, rather than having to clearall of the data and re-enter the current time, date and a zip code, akey sequence could be entered followed by the pound key to change thetiming pattern. For example, a user could enter a sequence of three #keys followed by the new timing pattern, followed by the # key. Whilethe use of pre-stored timing patterns which can easily be selected usinga timing pattern code, it may be the case that the user may realize thatthey do not like the pattern that they selected, and decide that theysimply want to change the timing pattern that they selected.Alternatively, a user may decide that they want to periodicallyreprogram the timer. That is, although the use of pre-stored patternseliminates the need for reprogramming, reprogramming the timer toimplement another pre-stored timer is so easy that it is an option for auser of timer implementing the pre-stored timing pattern.

Turning now to FIG. 3, a perspective view of a front panel of an in-walllight timer having a display according to another embodiment of thepresent invention is shown. According to the embodiment of FIG. 3, adisplay 302 could be implemented. While a display may not be necessaryto implement the timer with pre-stored timing patterns, the display maybe desirable to provide information regarding stored data, including aselected timing pattern for example. That is, even though a display isnot necessary in view of the use of pre-stored timing patterns, a usermay desire a display for aesthetic reasons, because they are simply usedto having a display, or for what information it does provide. As shownin FIG. 3, the display includes a time field 304 which displays thecurrent time during normal operation, an AM/PM field 306, an on/offfield 308 indicating the state of a light or appliance which is attachedto the timer. Finally, an information field 310 includes otherinformation related to the operation of the timer. For example, theinformation field could include the current date and the timing patternnumber. The timing field could include other information, such as DSTcode or whether a security code is used, as will be described in moredetail below. Based upon the current time, date and security codeinformation, a user could determine whether the timer is set with thecorrect data and should be operating correctly. As shown in FIG. 4 whichshows the embodiment of FIG. 3 with the cover in the open position, theuser interface could be implemented in with the user interface.

Turning now to FIG. 5, a perspective view of the front panel of thein-wall light timer of FIG. 3 with a cover open according to anotherembodiment of the present invention is shown. According to theembodiment of FIG. 5, a 5-key user interface could be implemented toenter data necessary for implementing a timer using a pre-stored timingpattern. As will be described in more detail below in reference to FIG.20, the left and right keys on either side of a select key will allow auser to traverse through programming categories, while the up and downkeys above and below the select key will enable a user to move throughthe available options in a given programming category. As will befurther described below, the 5-key user interface will be enable a userto select a timing pattern code so that the timer can be implementedwith a pre-stored timing pattern.

Turning now to FIG. 6, a perspective view of the front panel of thein-wall light timer of FIG. 3 having pre-set buttons according to anembodiment of the present invention is shown. As shown in FIG. 6,dedicated, pre-set actuators 602, shown here as buttons 604 which enablethe manual selection of a pre-stored timing pattern. Four pre-setbuttons are shown in the embodiment of FIG. 6, including a fixed button(applying a fixed on time and fixed off time when selected), anastronomic button enabling the operation of the timer based uponastronomic data, a DST button enabling the operation of the timer basedupon a first timing pattern for a standard time period and a secondtiming pattern for a daylight savings time period, and a seasonal buttonfor applying different timing patterns for each of the four seasons.Each of the buttons includes a selection indicator (such as an LED lightfor example) which would indicate when the button is selected. Thebutton could be movable between a depressed, on position (where it isflush with the surface of the timer and the LED lit) and an offposition. Alternatively, the selected button would have the LED lit,with all buttons having the same positioning. Only a single button canbe selected at a time, where a selected button would be deactivated ifanother button is selected. The selection of timing patterns for thepre-set actuators 602 will be described in more detail below. While 4buttons are shown, it should be understood that a greater number ofbuttons or fewer buttons could be implemented. Further, while examplesof the functions of buttons are shown, it could be understood that otherfunctions for the pre-set buttons could be implemented. For example, onebutton could be dedicated to each season. As will also be described inmore detail below, a wireless option would enable the wirelessprogramming of timing patterns for the pre-set buttons.

Turning now to FIG. 7, a perspective view of the front panel of thein-wall light timer of FIG. 5 according to another embodiment of thepresent invention is shown. In addition to having pre-set buttons asshown in FIG. 6, a connector 702 for receiving a portable memory deviceis provided for downloading data, such as new or different timingpatterns or DST data, as will be described in more detail below. Whilethe connector for receiving a portable memory is only shown inconnection with FIG. 7, it should be understood that such a connectorcould be implemented in any of the embodiments of FIGS. 1-6.

While user interfaces are provided in the embodiment of FIGS. 6 and 7for entering data in addition to the dedicated buttons for selecting apredetermined timing pattern, it should be understood that theembodiments of FIGS. 6 and 7 could be implemented without the userinterface for entering data or a display, where the only actuators whichwould be required for selecting a timing pattern would be the dedicatedbuttons of FIGS. 6 and 7 for selecting pre-stored timing pattern or atiming pattern based upon data selected for the buttons and provided tothe timer. That is, the timing patterns of the dedicated buttons couldbe assigned defined, pre-stored timing patterns, could be downloadedusing a portable memory by way of the connector 702, or could beprogrammed by a user, as will be described in more detail below inreference to FIGS. 46-49. That is, embodiments of the timer could beimplemented with the pre-set buttons 602, and not having a keypad 204 ora 5-key interface 312.

Turning now to FIG. 8, a side view of the in-wall timer shows connectorsenabling a connection of the timer to electrical wiring. The side viewof the timer shows a connector panel 802 having coupling elements804-808, shown here as screws, for receiving wires of a junction box.Alternatively wires could extend from the timer and be connected towires of the junction box.

Turning now to FIG. 9, a side view of a timer having a front panelaccording to FIGS. 1-7 and adapted to be implemented with a wall outletaccording to an embodiment of the present invention is shown. Ratherthan a timer which is fixedly coupled to a junction box, the variouscircuits and methods can be implemented in a timer adapted to be usedwith a wall outlet and adapted to receive a plug of a light or someother appliance. As shown in FIG. 9, the timer 902 comprises areceptacle 904 for receiving the prongs of a plug of a light or anappliance. The timer 902 also comprises prongs 906 to be inserted to anoutlet to enable applying power to the light or appliance. The userinterface 202, shown opposite of the prongs 906, can be implementedaccording to any of the user interfaces set forth above.

Turning now to FIG. 10, a block diagram of a circuit enabling theoperation of the embodiments of FIGS. 1-9 according to a firstembodiment of the present invention is shown. As shown in FIG. 10, acircuit for implementing a timer having pre-stored timing patternscomprises a control circuit 1002 adapted to access one or more of aplurality of pre-stored timing patterns. The control circuit 1002 may bea processor having a cache memory 1004 storing timing patterns and otherdata necessary to implement the timer. A memory 1006 may also beimplemented to store timing patterns or other data necessary toimplement the timer. The memory 1006 may be implemented as anon-volatile memory, enabling the memory to store the timing patternsand data without loss due to a power loss. A portable memory 1008,having contacts 1010, may be received by a connector 1012 (such as theconnector 702 of FIG. 7 for example) and coupled to correspondingcontacts. A transformer 1014 is coupled to receive an input voltage atan input 1016, and provide a regulator voltage signal 1018 to variouselements of the timers. A second input 1020 is coupled to a groundterminal enabling a ground signal which is coupled various elements ofthe timer. A backup energy supply 1022, which could be a battery or acapacitor for example, could be implemented to ensure that data of amemory is not lost during a loss of power. The control circuit providesa control signal by way of signal line 1024 to a switch 1028 whichreceives a regulated voltage by way of a line 1026. The switch 1026controls the application of the regulated voltage to a voltage terminal1030 which enables power to be applied to an appliance 1032, such as alight as shown. The appliance has a first terminal 1032 for receivingthe regulated voltage from the voltage terminal 1030 and a secondterminal 1036 coupled to the ground potential. An input portion 1038,which may be implement any of the user interface elements described inreference to FIGS. 1-7 is also shown.

Turning now to FIG. 11, a block diagram of the a circuit enabling theoperation of the embodiments of FIGS. 1-9 having a wirelesscommunication circuit according to an embodiment of the presentinvention is shown. As shown in FIG. 11 comprises a wirelesscommunication circuit 1102 which is adapted to enable the wirelessprogramming of certain data or information by way of a correspondingwireless communication circuit implemented in a computer device, such asa laptop computer, a tablet computer or a “smart phone.” An example of awireless communication circuit is shown by way of example in FIG. 12.

Turning now to FIG. 12, a block diagram of an exemplary wirelesscommunication circuit enabling the operation of the circuit of FIG. 11according to an embodiment of the present invention is shown. Inparticular, the antenna 1104 receives wireless communication signalsaccording to a predetermined wireless communication protocol. The datamay be sent to the wireless transceiver 1102 by way of a computer havingor in communication with a corresponding wireless transceiver 1102. Thereceived data is coupled to a combined mixer/voltage controlledoscillator 1206, the output of which is coupled to an intermediatefrequency (IF) circuit 1208. Based upon outputs of the IF circuit and aphase locked loop (PLL) 1210, a mixer 1212 generates the received data.An analog-to-digital converter (ADC) 1214 then generates digital datarepresenting the timing characterization data.

The control circuit may also provide data to the data transceiver fortransmission to the computer. Data to be transmitted from the datatransceiver 1102 is coupled to a digital-to-analog converter (DAC) 1216,the output of which is coupled to a modulator 1218 which is also coupledto a PLL 1220. A power amplifier receives the output of the modulator todrive the antenna 1104 and transmit the data. It should be noted thatthe wireless communication network could be configured to implement anywireless protocol for communicating with the wireless communicationcircuit of the timer of FIG. 11. According to one embodiment, the datatransceiver could implement the IEEE Specification 802.11 wirelesscommunication standard, the Bluetooth standard, an infrared protocol, orany other wireless data protocol. While the circuit of FIG. 12 isprovided by way of example, other wireless data transceivers could beemployed according to the present invention to implement the desiredwireless communication standard.

Turning now to FIG. 13, a segmented map showing geographic regions ofoperation for a timer according to an embodiment of the presentinvention is shown. The geographic regions enable applying certain data,such a timing pattern, which is suitable for a timer implemented in thegeographic area. As shown in FIG. 13, the geographic area of thecontinental US is divided into 12 regions identified by a longitudinaldesignation (shown here as the time zones) or latitudinal designation(shown here as 3 regions designated as north, central and south).According to the embodiment of FIG. 13, the regions are designated by atwo letter code including the first letter of the longitudinal codefollowed by the first letter of the latitudinal code, by way of example.While 12 regions are shown by way of example, it should be understoodthat a greater number or fewer number of regions could be designated.Further, while geographic regions, other designation of regions could beimplemented, such as zip codes or telephone area codes.

Turning now to FIGS. 14 and 15, diagrams data fields of data entered bya user according to embodiments of the present invention, including dataas entered on a keypad as described in reference to FIG. 2. According tothe embodiment of FIG. 14, a field 1402 stores the received “clear”code, shown here as three star keys, a time code 1404 (shown here as a 4digit time entered in military format representing 2:30 PM), a date code1406 (shown here as a 6 digit date in the DDMMYY format), a locationcode 1408 (shown here as a zip code), and a timing pattern code 1410(which will be described in more detail below). While the location isshown as a zip code, other location codes representing larger or smallergeographical errors could be utilized. According to the embodiment ofFIG. 15, an optional daylight savings code 1502 indicating daylightsavings time information, such as dates associated with a period forapplying a daylight savings time pattern or dates for shifting thecurrent time by 1 hour, as will be described in more detail below. Whilespecific codes are shown in FIGS. 14 and 15, it should be understoodthat additional fields could be implemented.

Turning now to FIG. 16, a table shows timing pattern numbers andassociated timing characterization data and categories according to anembodiment of the present invention. A significant benefit of thevarious embodiments of the timers and methods of implementing a timer isthat on and off times for implementing a timer are easily selectedwithout having to enter the on and off times. Rather, a timing patterndesignated by a timing pattern code can be easily be selected by a userrather than having a user enter the on and off times for the timer. Aswill be described in more detail below, the timing patterns can becategorized according to a number of broad categories, such as fixedtiming patterns, DST timing patterns, seasonal timing patterns, andastronomic timing patterns, for example, to make it easier to select adesired timing pattern. The timing pattern codes can also be arrangedsuch that similar timing patterns can have similar numbers, and can bearranged in a tree format such that numbers having the same mostsignificant bit will have the same broad category. Timing patternsassociated with timing pattern codes having the same second mostsignificant bit may also have a common on or off time, for example.

Referring specifically to FIG. 16, timing patterns are shown for fixedtiming patterns, DST timing patterns, seasonal timing patterns, andastronomic timing patterns, where the fixed timing patterns havingtiming pattern codes between 1 and 1xx, DST timing patterns havingtiming pattern codes between 2 and 2xx, seasonal timing patterns havingtiming pattern codes between 3 and 3xx, and astronomic timing patternshaving timing pattern codes between 4 and 4xx. The fixed time year-roundtiming patterns as shown have an on time and an off time, where timingpattern codes associated with timing patterns having the same on timehave the same first two digits. For example, timing patterns having anon time of 4:00 PM will have a timing pattern code starting with 11X,while timing patterns having an on time of 5:00 PM will have a timingpattern code starting with 12X. The first timing pattern code of any ofthe any of the groups (i.e. the timing pattern code could be the defaulttiming pattern code for dedicated timing pattern selection buttons aswill be described in more detail below.

The second and third timing pattern categories have different timingpatterns for different times of the year. In particular, the DSTcategory has two timing patterns, one for standard time and one fordaylight savings times, where the different timing pattern codesrepresent various combinations of on and off times for both of thestandard time and daylight savings time. Similarly, the seasonalcategory has different on and off times for each of the four seasons.

Finally, the astronomic category of timing patterns including timingpatterns based upon known dusk and dawn times. While dusk and dawn timesare helpful in setting on and off times for a timer because they areclose to the times when it becomes dark and light, the use of the knowndusk and dawn times often leads to the timer being on at times when auser may not want the timer on. For example, during winter, lights maycome on before 4:00 PM, which may be much earlier than desired.Similarly, lights may be on later than desired at dawn. During summer,lights may be on later than desired, which may be after 7:30. Thereforea user may want to use an offset. As will be described in more detailbelow, a certain time period delay for tuning on the timer may bedesired with on times and a certain time period for turning lights offearly may be desired with off times. Further, a user may desire the useof astronomic dusk times (with or without an offset) and the use of afixed timer for turning the lights off at some time after midnight, forexample. It should be understood that astronomic dusk and dawn timescould be used with timing patterns in the DST and seasonal categories,or could be limited to the astronomic categories for simplicity. Itshould alos be noted that while even hour times are shown, on and offtimes based upon half hours or quarter hours could be provided.

In order to implement astronomic times, it is necessary to consider bothlocations and the time of year. While it may be possible to storeastronomic data any level of granularity of location and time, averageastronomic dusk and dawn data could be stored based upon a particularregion and a particular time period as will be described in reference toFIG. 18. In order to store average astronomic dusk and dawn data, it isnecessary to identify a location where the timer will be used, andassign that location to a reasonable number of regions for whichastronomic timing data is stored. By way of example in FIG. 17, the 12regions designated in FIG. 13 could be associated with zipcodes.Accordingly, when a user enters a zip code, data associated with theregion having the zip code would be used when implementing a selectedtiming pattern for the timer. By way of example, the data could be basedupon a central location of the region, or an average of the differentdusk and dawn times of the region. Alternatively, the average dusk anddawn times could be skewed toward more populated areas of the regions.Not only would average dusk and dawn times for the location be usedbased upon the zip code, but the correct time in the various time zonesbased upon the Greenwich Mean Time (GMT) would also be used.Alternatively, three digit telephone area codes could be used.

As shown in FIG. 18, these average dusk and dawn times are not onlybased upon location, but also based upon time of year. While daily duskand dawn times could be used, it would be more efficient to use averagedusk and dawn times for given time periods, and particularly timeperiods associated with time periods for implementing timing patterns,as described in reference to FIGS. 51 and 52. Accordingly, for eachregion, an average dusk time and average dawn time for different timerperiods during which a particular on time or off time would be applied,shown by way of example in FIG. 8 to include a full year, portions of ayear or individual days.

Additional data which could be used in implementing a timer is DST dataand corresponding DST codes. In addition to dates at which times aremoved back during the fall or moved back during the spring in areashaving daylight savings times (where these dates have changed over timeand may change in the future), dates for applying a timing pattern for aperiod having shorter daylight, called a daylight savings time period.While the daylight savings time period could correspond to the times formoving the timer forward and back, a user may like to select a periodfor applying a daylight savings time timing pattern during a periodwhich is different than the period between moving the clock back andreturning the clock to the standard time. Accordingly, a table could bestored which has different daylight savings time data including a DSTtime period for applying different timing patterns and dates forchanging the clock. Each of a plurality of combinations is stored with acorresponding DST code in the table. When the DST code is entered duringprogramming of the timer, on and off times associated with a selectedtiming pattern will be applied subject to dates and times associatedwith daylight savings time data associated with the DST code.

It should be noted each of the tables 16-19 are stored in a memory ofthe timer, such as memory 1006 or a cache memory of the timer of FIG.10. The data is preferably stored at the time of manufacture (or at somepoint before the timer is packaged) and provided to the end user withthe timing patterns selectable by a timing pattern code already storedin the memory. Further, data in the tables could be updated using aportable memory device, such as a USB drive, by way of the connector702.

Turning now to FIG. 20, a flow diagram shows the operation of the 5-keyuser interface of FIGS. 5 and 7 according to an embodiment of thepresent invention. While the keypad of FIG. 2 provides an easy way ofentering data necessary to implement a timer having pre-stored timingpatterns, other user interfaces could be used which take advantage ofthe pre-stored timing patterns associated with corresponding timingpattern codes. For example, “navigation” keys which enable a user movethrough a menu can be implemented to enable a user to select a timingpattern code or any other data necessary for implementing a timer as setforth above. Unlike conventional timer user interfaces, the 5 keynavigation user interface of FIG. 20 is not only intuitive, butovercomes many of the problems associated with conventional userinterfaces by not only showing a current programming category and acurrent data value for the current programming category, but alsoprevious and following programming categories and previous and followingdata values which could be selected for the current programmingcategory. That is, as will be described in more detail in reference toFIGS. 21-43, the arrangement of programming categories and correspondingdata values will enable easy navigation through the user interface byindicating where a user is within the menu.

Referring specifically to FIG. 20, the programming categories 2002 andcorresponding data values 2003 could be selected by the 5 key userinterface which includes a select key 2004 which could be used to selectdata associated with a given programming category. In summary, theselect key 2004 will enable a user to enter the menu for programming(such as by depressing the key for a predetermined period (e.g. 2seconds), the left key 2006 will allow moving left along the programmingcategories, and the right key 2008 will enable moving right along theprogramming categories. An up key 2010 will enable a user to move upwithin a column for a current programming category, while a down key2012 will enable moving down within the current programming category. Byway of example, when the display is in an operational mode and showsoperational values (such as the operational values shown in FIGS. 3-5),the first programming mode (i.e. the hour programming mode 2104) will beshown on the display when the select key 2004 is selected. If the userdesires to enter a certain time, the up and down keys can be used tomove to a desired data value representing the desired hour, and havethat data value selected by using the select key. When a data value isselected for a given programming category, the user interface preferablythen automatically moves to the following programming category. A keypad sequence (such as the selection of the select key three times ormerely holding the select key for a predetermined period of time (e.g. 2seconds)) can then be entered at any time to leave the programming modeof the timer.

The programming categories include the following: the hour mode 2014(having 24 data values from 12 AM to 11 PM), the minute mode 2016(having 60 data values from 0 to 59 minutes), the month mode 2018(having 12 data values from JAN to DEC), the day mode 2020 (having 31data values from 1 to 31), the year mode 2022 (having 10 data values foreach of the tens digit of the year from 0x to 9x), the year mode 2024(having 10 data values from 0 to 9 for the one's digit), the region mode2026 (having 12 data values for each of the regions shown in FIG. 13),the timing pattern mode 2028 (having a predetermined number of timingpattern codes associated with a corresponding number of pre-storedtiming patterns), the DST mode 2030 (having the number of data valuesassociated with different DST data values, such as the data associatedwith the DST codes of FIG. 19), the security mode 2032 (having thenumber of available security codes, such as 100 codes for a two bitsecurity code or 1000 codes for a 3 bit security code), and optionallyan “exit” programming option which will be described in more detail inreference to the programming example of FIGS. 21-43. While a user candepress and hold the select key for a predetermined period of timer forexample to leave the programming mode, the exit option can also beprovided to enable a user to leave the programming mode. In either case,a new data that has been selected will be stored and used by theprocessor of the timer to implement a timing pattern.

FIGS. 21-43 shows a series of stages of programming a timer using the5-key user interface of FIGS. 5 and 7. While displays may be desirablefor some users (because they want to see what data is being entered toprogram the timer), conventional timers having displays are not onlydifficult to navigate through a menu for programming the timer (andunderstand where the user is in the menu), but also are difficult to seethe data which is entered in a certain field of a conventional timerbecause the display is so small. The displays of FIGS. 21-43 show thesteps of programming a timer to enable operation of the timer accordingto a pre-stored timing pattern from the initial, un-programmed state ofthe timer of FIG. 21 to the final programmed state of the timer of FIG.43. As shown in FIG. 21, various fields which provide information in thenormal operating state are shown. The programming mode can be enteredwhen the select key of the 5-key user interface is selected (or someother key sequence such as the select key being selected 3 times, or theselect key being depressed for a predetermined period, such as twoseconds).

One unique feature of the user interface described in FIGS. 21-43 isthat a current selection option (either programming categories or datavalues) is not only shown, but a “previous” and “next” programmingcategory and data value is also shown. In order to further make thetimer easier to program and overcome a significant problem ofconventional timers with displays which are difficult to read, thecurrent programming category and data value is larger than the“previous” and “next” programming category and data value. Making thecurrent programming category and data value larger makes it easier toread the programming category and data value while still making it easyto navigate the menu by providing previous and next values.

After a key or key sequence is entered on 5-key user interface to enterthe programming mode, an initial programming state is entered as shownin FIG. 22. While the initial states for data values in FIGS. 23-42 areshown as the top values of the available data values for a programmingmode, the initial states could be some other value, such as a value nearthe middle of the available data values, or a commonly selected datavalue. The sequence of FIGS. 21-42 are intended to show the programmingof a timer having the following data: a current timer of 10:24 PM and acurrent data of Oct. 9, 2013, where the timer is operated in the NorthCentral (NC) region having a timing pattern 13, a DST code 903 and anoptional security code 013. As will be described in more detail below, asecurity code could be used if a user could reprogram the timer using awireless connection to prevent a hacker from changing the operation ofthe timer (from outside of a building for example).

As shown in FIG. 22, the initial programming state includes the Hourprogramming mode, and a initial data value of 1 AM. A user could thenuse the up and down keys to select the desired time. As shown in FIG.23, the user had moved down one data value to 2 AM, and then down to thedesired data value of 10 PM as shown in FIG. 24. When the user reachesthe desired data value, the user can select the value using the selectkey, in which case the display would then display the next programmingcategory, which happens to be the minute programming category.Alternatively, rather than automatically changing, a user could berequired to move to the next programming category by selecting the rightarrow key. As shown in FIG. 25, the initial state of the minuteprogramming mode has a “1” in the data value display portion. The up anddown keys can then be used to move to the desired “24” minute data valueas shown in FIG. 26, where the month programming category would then bedisplayed as shown in FIG. 27 in response to the selection of the datain the minute programming mode. After the desired month of October isreached in FIG. 29, the programming mode is move to the day programmingmode as shown in FIG. 29, where the desired 24thday is selected as shownin FIG. 30. As shown in each of the displays, a previous programmingcategory is shown above a current programming category, and a nextprogramming category is shown below the current programming category.Similarly, a previous data value of the current programming category isshown above the current data value, and a next data value is shown belowthe current data value. For example, in selecting the month as shown inFIG. 27, the previous programming category “minute” in the programmingcategory side of the display is above the current programming category“month,” while the next programming category “day” is shown below thecurrent programming category. Similarly, in the data value side of thedisplay, the month of December is above the current data value ofJanuary, while the month of February is below the current value.Providing categories and values above and below current categories, auser can more easily navigate through the menu. Also, by providing thecurrent category/value in a larger size, it is easy to read thecategory/value.

Selecting a desired year can present more of a problem because of thenumber of available years (e.g. 100 data values from 2000-2099). While asingle year selection mode can be implemented in the same way asselecting 1 of 31 days of a month as described above, the yearprogramming mode can be divided into two operations, enabling theselection of a decade in one step and enabling the selection of a yearin another step. As shown in FIG. 31, it should be noted that theinitial state is shown with a year “200?”, where the “zeros” decade isprovided. The user can then move down one data value to the “tens”decade as shown in FIG. 32, which, when selected, will lead to the menuoption as shown in FIG. 33 enabling the selection of the year for thetens decade. Therefore, the up and down keys are used to select 2013 asshown in FIG. 34.

Other data for implementing the timer can then be entered. Inparticular, the region in which the timer is implemented can be selectedby going from an initial region option NE as shown in FIG. 35 to desiredtiming region option of NC as shown in FIG. 36. The desired timingpattern can then be selected, where an initial timing program 1 shown inFIG. 37 can be changed to the desired timing program 13, as shown inFIG. 38. The desired daylight savings time code can then be selected,where an initial daylight savings time code 900 shown in FIG. 39 can bechanged to the desired daylight savings time code 903, as shown in FIG.40. Finally, a desired security code can then be selected, where aninitial security code of 000 shown in FIG. 41 can be changed to thedesired security code of 013, as shown in FIG. 42. After all of the datais entered, and the exit option is selected, the display of the timerreturns to the operating mode, where the display shows some or all ofthe data (other than a value of a security code which could also beshown) entered during programming. Further, a “key” or “lock” icon couldbe shown on the display to indicate that a security code has beenprogrammed.

While it is assumed that no data was programmed initially, it should benoted that, if the timer is already programmed and just some data needsto be reprogrammed, the left and right keys can be used to move withinthe menu to reach a desired programming category to change the data forthat category, at which time the select key can be used to select thedata, leave the programming mode, and return to the display for thenormal operational mode. By way of example, if a timer is alreadyprogrammed and a user desires to change the timing pattern (by changingthe selected timing pattern code), a user would enter the programmingmode and use the left and right keys to move along the programming modesuntil the timing pattern programming mode is reached. The up and downthe available data values until the desired timing pattern code isreached. The data value be selected by using select key, at which timethe programming category would move to the next programming category. Ifno other data values need to be changed, a user could move along theprogramming categories to the “exit” option to return to normaloperation or hold the select key for a predetermined period of time.Accordingly, if a timer is already programmed and a user desires tochange the timing pattern for example, the user can easily change thetiming pattern without having to reprogram anything else.

Turning now to FIG. 44, a memory shows fields and corresponding storeddata associated with the programmed timer of FIG. 43. All of the dataentered using the numeric keypad or 5-key user interface is stored inmemory fields of a memory of the timer, such as memory 1006 for example,and is accessed by the timer to implement a selected timing pattern inoperating the timer as described above.

Turning now to FIGS. 45-49, screens of a user interface enabling thewireless programming of a timer are shown according to an embodiment ofthe present invention. That is, based upon a current time and date, thetimer will implement the timing pattern (associated with the selectedtiming pattern code) by using data of FIGS. 16-19. As shown in FIG. 45,a display 4502 of a wireless device, such as a laptop computer, a tabletcomputer or a cellular telephone having a touch screen or some otherdata entry element, shows a data entry screen enabling a user to enterthe necessary data, including a timing pattern code associated with adesired timing pattern, for implementing the timer. The display alsoincludes a data entry element 4504, shown here as a touch screen entryportion having an alphabetical entry portion 4506 (such as a “QWERTY”keypad) and a numeric entry portion (having touch screen keys from 0 to9). Various fields are provided to enter the data stored in the memoryof FIG. 44. For example, a field 4509 enables a user to enter a securitycode. The security code may be concealed as shown to avoid someoneseeing the code. A time field 4510 enables someone to enter the time,shown here as a 4 digit military time. However, because a full QWERTYkeypad is provided, the time could be entered as 10:24 PM for example.The date is entered in a date field 4512. Although shown in a 6 digitDDMMYY format, it could be spelled out using letters and numbers. Thedesired region, timing pattern and DST code could be entered in fields4514, 4516, and 4518, respectively. The user could then exit or opt toenter an advanced options mode.

According to one embodiment, the advanced options mode enables a user toselect timing patterns to be implemented with the dedicated buttons forselecting timing patterns as shown in FIG. 6 or 7, or enables enteringon and off times to be applied when the timing pattern associated withthe dedicated buttons are selected. That is, a screen could have a fieldfor each dedicated button, where a user could enter the timing patterncode in the field which corresponds to the timing pattern which isdesired for the field. As shown for example in FIG. 46 which relates toa timing program for a fixed button setting, on and off times whichwould be applied throughout the year could be entered in data fields,where on and off times for weekdays could be entered in fields 4602 and4604 respectively, and on and off times for weekends could be entered infields 4606 and 4608 respectively. “Back” and “Next” selection optionsenable the user to move through the advanced programming options tofinish the programming or exit as desired.

As shown in FIG. 47, on and off times associated with an astronomic modeof operation applied in response to the selection of the “Astro” buttoncan be entered in fields 4702 and 4704, where the entries enable theselection of an offset. As will be described in more detail below inreference to FIG. 50, users may prefer to apply astronomic times with adelay in turning the lights on at dusk, and turning the lights off earlyat dawn. According to another embodiment, the astronomic timing programassociated with a button could include an option of setting the off timeto a fixed time. That is, while users may want the on time of the timerto follow the dusk time, they may want the lights to go off at a fixedtimes (such as 1:00 AM or 6:00 AM for example) rather than be tied tothe dawn time.

A screen for programming on and off times for a DST button is shown inFIG. 48. According to the embodiment of FIG. 48, on and off times to beapplied during a standard time period can be entered in fields 4802 and4804, while on and off times to be applied during a daylight savingstimes period can be entered in fields 4806 and 4808. A similararrangement is shown in FIG. 49, where settings for 4 “seasonal” timingpatterns can be applied rather than settings for two timing patterns asdescribed in reference to FIG. 48. In particular, on and off times to beapplied during a spring time period can be entered in fields 4902 and4904, on and off times to be applied during a summer time period can beentered in fields 4906 and 4908, on and off times to be applied during afall time period can be entered in fields 4910 and 4912, and on and offtimes to be applied during a standard time period can be entered infields 4914 and 4916.

While specific fields are provided for entering data for applying on andoff times during the operation of a timer when a dedicated button isselected, it should be understood that other fields could be implementedwith the given programming categories as shown, or other programmingcategories could be implemented. It should be noted that if no data isentered, default timing patterns would be implemented when a dedicatedbutton is selected, where the default timing patterns could be basedupon the 1-4 timing pattern codes associated with the four categories oftiming patterns shown in FIG. 16.

Charts provided in FIGS. 50-52 show dusk and dawn times throughout theyear, average dusk and dawn times for periods, and the benefits ofimplementing certain on and off times during certain periods. Turningfirst to FIG. 50, a chart shows dusk and dawn times over a year, and anaverage time shown by the dashed line. As should be apparent from FIG.50, considerable energy can be saved by setting on and off times attimes other than the average dusk and dawn times. While the charts ofFIGS. 51 and 52 provide timing patterns having better granularity andtherefore provide a more desirable timing pattern, the chart of FIG. 50provides perspective as to how much energy can be saved by implementingtimes other than astronomic dusk and dawn times. As is apparent fromFIG. 50, each light controlled by a timer will be off for at least 2hours longer each day compared to astronomic times by setting the ontime for a light at 1 hour after dusk and setting the off time 1 hourbefore the average dawn.

Turning now to FIG. 51, a chart shows dusk and dawn times over a yearand which is divided into two periods including standard time anddaylight savings time. As can be seen in FIG. 51, the average dusk anddawn times are very different for the two time periods, and the timer onand off settings with a one hour offset is very different. Byestablishing the two time periods to apply two different time settings,it can be seen that different on and off times are much closer to thedusk and dawn times, and therefore provide an overall more desirabletiming pattern for the year, while still providing savings by having thetimer on less. Additional energy reduction can be achieved by moving theoff time of the DST period to a fixed time, such as 5:00 AM and stillprovide a desirable overall timing pattern. As is apparent from FIG. 51,the time period for applying a “daylight savings time” timing pattern isdifferent than the period between the “fall back” date for turning backthe clock in the fall, and the “spring forward” date for returning theclock to normal time during the spring.

The embodiment of FIG. 52 shows 4 timing patterns associated with the 4seasons. As can be seen, the average times for dusk and dawn duringthose periods are different, and selected times relate more closely tothe average times, and therefore provide a better overall timingpattern. While DST and seasonal periods are shown, it should beunderstood that other periods could be defined, such as monthly periods.However, a greater number of periods may require additional memory forstoring data and may make it more difficult to select a desirable timingpattern by a user. Accordingly, the number of periods selected (whichmay provide a better timing pattern) may be a tradeoff with additionalmemory requirements and reduced user-friendliness. One of the benefitsof the various embodiments is that they are user friendly. Therefore,the number timing pattern options available to a user must be selectedto ensure that the timer is still user friendly to operate whileproviding enough options to provide desirable timing patterns for avariety of different users.

Turning now to FIG. 53, a flow chart shows a method of generating timingcharacterization data according to an embodiment of the presentinvention. A plurality of timing patterns are established at a step5302. A unique timing pattern code is assigned for each timing patternof the plurality of timing patterns at a step 5304. The timing patternsand corresponding timing pattern codes are stored in a memory of thetimer at a step 5306. Geographic regions where the timers will be usedare also defined at a step 5308. Time periods for which average dusk anddawn times may be used defined at a step 5310. Average dusk and dawntimers associated with the time periods and geographic regions arestored in a memory of the timer at a step 5312. DST data related to“spring forward” and “fall back” dates and desired dates for applying aDST timing pattern (if different than “spring forward” and “fall back”)are stored, by region, in a memory of the timer at a step 5314. It isthen determined whether an input is received at a user interface of thetimer at a step 5316. Data associated with an operational field arestored in a memory of the timer at a step 5318. It is then determinedwhether a time out been reached or a stored indication received at astep 5320. The timer is operated based upon the data stored in theoperational field at a step 5322.

Turning now to FIG. 54, a flow chart shows a method of implementing atimer with a plurality of timing patterns according to an embodiment ofthe present invention. The timing pattern is cleared if necessary ordesired by selecting a first predetermined keypad sequence at a step5402. The current time is entered followed by a key or keypad sequenceto enter the data at a step 5404. The current date is entered followedby the key or keypad sequence to enter the data at a step 5406. Ageographic region for the timer is entered followed by the key or keypadsequence to enter the data at a step 5408. A timing pattern code isentered followed by the key or keypad sequence to enter the data at astep 5410. A DST code is optionally entered followed by a key or keypadsequence to enter the data at a step 5412. It is then determined whetherthe last data is entered or a time-out period expired at a step 5414.All of the data entered is stored at a step 5416. It is then determinedwhether the user desires to change the timing pattern code at a step5418. A second predetermined keypad sequence is entered to change thetiming pattern code only at a step 5420.

Turning now to FIG. 55, a flow chart shows a method of selecting astored timing pattern using the keypad of FIGS. 2 and 4 according to anembodiment of the present invention. A select key is pressed to enterthe programming mode at a step 5502. It is then determined whether aleft or right key is selected to move to a different programmingcategory at a step 5504. The display will show another programmingcategory as it moves horizontally along a plurality of programmingcategories at a step 5506. It is then determined whether an up or downkey is selected to enable selecting an option associated with thecurrent programming category at a step 5508. The display will showanother option of a programming category as it moves vertically alongoptions of a current programming category at a step 5510. It is thendetermined whether the programming mode ended at a step 5512.

Turning now to FIG. 56, a flow chart shows a method of selecting astored timing pattern using 5 key user interface of FIGS. 5 and 7according to an embodiment of the present invention. A security code onthe timer is optionally set to enable programming the timer using awireless link at a step 5602. It is then determined whether a wirelessdevice for programming the timer within range of timer at a step 5604.It is then determined whether the correct security code entered on thewireless device at a step 5606. Data entered in fields on the wirelessdevice are downloaded at a step 5608. The data in the timer is stored ata step 5610. The timer is operated based upon the stored data at a step5610.

It can therefore be appreciated that the new and novel timer and methodof implementing a timer has been described. It will be appreciated bythose skilled in the art that numerous alternatives and equivalents willbe seen to exist which incorporate the disclosed invention. As a result,the invention is not to be limited by the foregoing embodiments, butonly by the following claims.

I Claim:
 1. A programmable light timer for implementing a timingpattern, the programmable light timer comprising: an actuator on a userinterface of the programmable light timer enabling a selection of a timefor the programmable light timer; a control circuit coupled to theactuator; a display coupled to the control circuit, wherein a timeselected by the actuator is provided on the display; a first button onthe user interface of the programmable light timer, wherein the firstbutton is programmable to have an on time; and a second button on theuser interface of the programmable light timer, wherein the secondbutton is programmable to have an off time.
 2. The programmable lighttimer of claim 1 wherein the first button is further programmable tohave an off time, and the second button is further programmable to havean on time.
 3. The programmable light timer of claim 1 wherein the ontime for the first button is a pre-stored on time, and the off time forthe second button is a pre-stored off time.
 4. The programmable lighttimer of claim 3 further comprising a third button that is programmable,by way of the actuator, with a user programmable on time.
 5. Theprogrammable light timer of claim 1 wherein the on time for the firstbutton is programmable using the actuator, and the off time for thefirst button is programmable using the actuator.
 6. The programmablelight timer of claim 6 further comprising a third button having apre-stored timing pattern.
 7. The programmable light timer of claim 1further comprising a switch enabling overriding the timing patternimplemented by the programmable light timer.
 8. A programmable lighttimer for implementing a timing pattern, the programmable light timercomprising: an actuator on a user interface of the programmable lighttimer, the actuator enabling a selection of a time for the programmablelight timer; a control circuit coupled to the actuator; a displaycoupled to the control circuit, wherein a time selected by the actuatoris provided on the display; a first button on the user interface of theprogrammable light timer, the first button enabling the selection of afirst pre-stored timing pattern; and a second button on the userinterface of the programmable light timer, the second button enablingthe selection of a second pre-stored timing pattern.
 9. The programmablelight timer of claim 8 further comprising a third button that is userprogrammable.
 10. The programmable light timer of claim 9 wherein thethird button is programmable with a user programmable on time.
 11. Theprogrammable light timer of claim 10 further comprising a fourth buttonthat is user programmable.
 12. The programmable light timer of claim 11wherein the fourth button is programmable with a user programmable anoff time.
 13. The programmable light timer of claim 8 wherein theactuator enables an up or down operation for selecting a time used bythe programmable light timer.
 14. The programmable light timer of claim8 further comprising a switch enabling overriding the timing patternimplemented by the programmable light timer.
 15. A method ofimplementing a timing pattern on a programmable light timer, the methodcomprising: enabling, on a user interface of the programmable lighttimer, a selection of a time for the programmable light timer;displaying the time on a display of the programmable light timer;enabling a first button, provided on the user interface of theprogrammable light timer, to be programmed to have an on time; andenabling a second button, provided on the user interface of theprogrammable light timer, to be programmed to have an off time.
 16. Themethod of claim 15 further comprising enabling the first button to beprogrammed to have an off time, and the second button to be programmedto have an on time.
 17. The method of claim 15 wherein the on time forthe first button is a pre-stored on time, and the off time for thesecond button is a pre-stored off time.
 18. The method of claim 17further comprising enabling a third button, provided on the userinterface of the programmable light timer, to be programmed by way of anactuator on the user interface.
 19. The method of claim 15 wherein theon time for the first button is user programmable, and wherein the offtime for the first button is user programmable.
 20. The method of claim15 further comprising providing a switch enabling overriding the timingpattern implemented by the programmable light timer.